1. Field of the Invention
The present invention relates to address restriction methods, address restriction programs, and address restriction apparatuses which restrict addresses to be used.
2. Description of the Related Art
As a communication protocol used for the Internet, the use of Internet Protocol Version 6 (IPv6) has been started. IPv6 uses addresses 128 bits long. In the current general use, the higher-order 64 bits indicate data used mainly for identifying a path between routers, and are called a prefix. The prefix is reported mainly by a router to each apparatus in a link managed by the router, and the apparatus sets the higher-order 64 bits of its address to the prefix. Addresses, such as link local addresses used only for communications in the link, other than these addresses are actually used, but a description thereof is omitted here. The lower-order 64 bits indicate data used freely by each apparatus, and are called an interface ID.
As a general method for each apparatus to generate the interface ID, there is a method called a 64-bit extended unique identifier (EUI-64) for generating a 64-bit address. When the link is structured by an Ethernet, for example, the medium access control address (MAC-48) of the apparatus is divided into two parts each having three bytes, “ff:fe” is inserted between the parts, and, in the most significant byte, a bit masked by “02” is inverted to generate a 64-bit interface ID. When the apparatus has an MAC-48 of 00:80:90:a0:b0:c0, for example, the interface ID is 0280:90ff:feao:b0c0. For simplicity, the term apparatus has been used, but strictly speaking, it means a network interface of an apparatus.
Since any method for generating an interface ID can be used, there is no guarantee that the interface ID generated by the above-described method is unique in the link. Therefore, a link local address employing this interface ID is used as a tentative address, and whether another apparatus is using the same address as the tentative address in the same link is checked. This is performed by issuing a message inquiring of a multi-cast address called a request multi-cast whether another apparatus is using the tentative address. The request multi-cast is obtained by taking logical OR of “ff02::1:ff00:0000” and the lower-order 24 bits of the tentative address. When the interface ID has the value described above, the request multi-cast is “ff02::1:ffa0:b0c0”.
When another apparatus is using the tentative address, it issues a message indicating that the tentative address is being used. If a message indicating that the tentative address is being used is not issued, the apparatus officially starts using the interface ID in the tentative address. If a message indicating that the tentative address is being used is issued, another interface ID is assigned.
The interface ID is not necessarily required to be generated by the EUI-64 method based on the MAC address. Another method may be used to generate the interface ID.